// -*- IDL -*-

/**
 * @file ServerRequestInfo.pidl
 *
 * @brief Pre-compiled RequestInfo
 */

#ifndef _SERVER_REQUESTINFO_PIDL_
#define _SERVER_REQUESTINFO_PIDL_

#include "tao/PI/PI_include.pidl"
#include "tao/orb_types.pidl"
#include "tao/Policy_Forward.pidl"

module PortableInterceptor {

  typeprefix PortableInterceptor "omg.org";

  local interface ServerRequestInfo : RequestInfo
  {
    readonly attribute any sending_exception;
    readonly attribute ServerId server_id;
    readonly attribute ORBId orb_id;
    readonly attribute AdapterName adapter_name;
    readonly attribute ObjectId object_id;
    readonly attribute CORBA::OctetSeq adapter_id;
    readonly attribute CORBA::RepositoryId target_most_derived_interface;
    CORBA::Policy get_server_policy (in CORBA::PolicyType type);
    void set_slot (in SlotId id, in any data) raises (InvalidSlot);
    boolean target_is_a (in CORBA::RepositoryId id);
    void add_reply_service_context (
      in IOP::ServiceContext service_context,
      in boolean replace);
  };
};

#endif  /* _SERVER_REQUESTINFO_PIDL_ */
